#ifndef __ENTITY_HPP
#define __ENTITY_HPP

#include <SFML/Graphics.hpp>
#include <string>

class GameWorld;

class Entity
{
	public:
		Entity(std::string strid, GameWorld *worldPtr) : id(strid), world(worldPtr) {};
		void MoveLeft(float dist)
		{
			sprite->Move(-dist, 0);
		}
		void MoveRight(float dist)
		{
			sprite->Move(dist, 0);
		}
		void MoveUp(float dist)
		{
			sprite->Move(0, -dist);
		}
		void MoveDown(float dist)
		{
			sprite->Move(0, dist);
		}
		sf::Sprite &Draw()
		{
			return *sprite;
		}
	protected:
		sf::Sprite *sprite;
		std::string id;
		GameWorld *world;
};

#endif
